iT邦幫忙

2023 iThome 鐵人賽

DAY 15
0
AI & Data

已 django + channels 來取得即時股價資料的推播系列 第 15

[Day 15] 透過 Fugle API 取得即時資料

  • 分享至 

  • xImage
  •  

取得資料

即時資料有兩種,一種是成交明細,一種是K線

這裡教學為 K 線的範例

#chat/fugle.py

from fugle_marketdata import WebSocketClient
import asyncio
import json

def handle_message(message):
    print(message)
    message = json.loads(message)
    # 當天已發生過紀錄
    if message['event'] == 'snapshot':
        all_history = message['data']['data']
        for i in all_history:
            print(i)
    # 即時
    if message['event'] == 'data':
        all_history = message['data']['data']
        for i in all_history:
            print(i)


async def main():
    # client = WebSocketClient(api_key='YOUR_API_KEY')
    stock = client.stock
    stock.on('message', handle_message)
    await stock.connect()
    stock.subscribe({
        'channel': 'candles',
        'symbol': '2330'
    })

if __name__ == '__main__':
    asyncio.run(main())

預期看到

https://ithelp.ithome.com.tw/upload/images/20230921/20162724Kq9Vg2k5aW.png
可以觀察若在盤中啟動則會進入 event = 'data' 的邏輯,收盤時間會進入 event = 'snapshot' 邏輯

小試身手

  • 拿到 3481 K線資料
  • 拿到 2303 K線資料

以上

參考

fugle-metadata
fugle 官方文件

免責聲明

使用規範與聲明
透過本服務取得之行情資料僅供參考,成交值及成交量不含零股及鉅額交易,使用者依本資料交易發生交易損失需自行負責。
時報資訊與群馥科技對資料內容錯誤、更新延誤或傳輸中斷不負任何責任。您應對您所為之任何金融或投資決策自行負責。
使用者應遵守臺灣證券交易所股份有限公司交易資訊使用管理辦法、臺灣期貨交易所股份有限公司交易資訊使用管理辦法、財團法人中華民國證券櫃檯買賣中心有價證券交易資訊使用管理辦法、各資訊來源提供者所定之資訊使用相關規範及智慧財產權相關法令,如有盜接、轉接交易資訊,或以其他方式出售、出租、轉讓、再授權交易資訊,或將交易資訊另行取樣並編製指數、其他衍生性商品或將之傳送予第三人,應負違約及侵權之相關民、刑事責任。
使用者須遵守臺灣證券交易所「交易資訊使用管理辦法」等交易資訊管理相關規定,所有資訊以臺灣證券交易所公告資料為準。


上一篇
[Day 14] 透過 Fugle API 取得盤後資料
下一篇
[Day 16] 實戰應用 - 查詢商品資料(上)
系列文
已 django + channels 來取得即時股價資料的推播30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言